
  <!-- ******************** SAMPLES ******************** -->
  <!-- Gap row -->
  <Row Class="ProjectRimFactory.Common.GapRow">
    <height>50</height>
  </Row>

  <!-- Gap line row -->
  <Row Class="ProjectRimFactory.Common.GapLineRow">
    <height>10</height>
    <color>(1,0,0,1)</color>
  </Row>

  <!-- ==== RENDERING SAMPLES ==== -->
  <!-- Draw text row -->
  <Row Class="ProjectRimFactory.Common.TextRow">
    <font>Medium</font>
    <anchor>MiddleCenter</anchor>
    <text>****** RENDERING SAMPLES ******</text>
  </Row>

  <Row Class="ProjectRimFactory.Common.TextRow">
    <!-- Tiny, Small, Medium -->
    <font>Medium</font>
    <!-- UpperLeft, UpperCenter, UpperRight, MiddleLeft, MiddleCenter, MiddleRight, LowerLeft, LowerCenter, LowerRight -->
    <anchor>MiddleCenter</anchor>
    <!-- background color -->
    <backgroundColor>(0.5,0,0,1)</backgroundColor>
    <!-- height -->
    <height>30</height>
    <!-- text(key) -->
    <text>render text</text>
  </Row>

  <Row Class="ProjectRimFactory.Common.TextRow">
    <height>70</height>
    <!-- If the Key is not found in the translate process, the tag will be removed. -->
    <!-- Not required if the Key is entered correctly -->
    <noTranslate>true</noTranslate>
    <!-- rich text https://docs.unity3d.com/560/Documentation/Manual/StyledText.html -->
    <text><![CDATA[rich text sample <size=30>size30</size><size=20>size20 <b>bold</b><i>italic</i><color=red>red</color>
</size><size=15><b><i><color=green>size15,bold,italic,green</color></i></b></size>]]></text>
  </Row>

  <!-- Draw texture row -->
  <Row Class="ProjectRimFactory.Common.ImageRow">
    <!-- texture path -->
    <texPath>Industry/AtomicReconstructor</texPath>
    <!-- height -->
    <height>100</height>
    <!-- background color -->
    <backgroundColor>(0,0.5,0,1)</backgroundColor>
  </Row>

  <!-- Gap row default -->
  <Row Class="ProjectRimFactory.Common.GapRow" />

  <!-- Gap line row default -->
  <Row Class="ProjectRimFactory.Common.GapLineRow" />

  <!-- Gap row -->
  <Row Class="ProjectRimFactory.Common.GapRow">
    <height>50</height>
  </Row>

  <!-- Gap line row -->
  <Row Class="ProjectRimFactory.Common.GapLineRow">
    <height>10</height>
    <color>(1,0,0,1)</color>
  </Row>

  <!-- ==== PATCH AND REPLACE SAMPLES ==== -->
  <!-- Draw text row -->
  <Row Class="ProjectRimFactory.Common.TextRow">
    <font>Medium</font>
    <anchor>MiddleCenter</anchor>
    <text>****** PATCH AND REPLACE SAMPLES ******</text>
  </Row>

  <!-- Draw Patch text value setting row -->
  <Row Class="ProjectRimFactory.Common.PatchTextValueItem">
    <key>cooker.name.test</key>
    <label>self cooker name</label>
    <description>self cooler name</description>
    <!-- Default value -->
    <value>PRF_SelfCookerI</value>
    <!-- PatchOperation executed at check on -->
    <Patch>
      <Operation Class="PatchOperationReplace">
        <xpath>/Defs/ThingDef[defName="PRF_SelfCookerI"]/label</xpath>
        <value>
          <!-- ${value} is replaced with the entered value. -->
          <label>${value}</label>
        </value>
      </Operation>
    </Patch>
  </Row>

  <!-- Draw Patch float value setting row -->
  <Row Class="ProjectRimFactory.Common.PatchFloatValueItem">
    <key>cooker.speed.test</key>
    <label>self cooker speed factor</label>
    <description>self cooker speed factor</description>
    <minValue>0</minValue>
    <maxValue>10</maxValue>
    <roundTo>0.1</roundTo>
    <value>3</value>
    <!-- PatchOperation executed at check on -->
    <Patch>
      <Operation Class="PatchOperationReplace">
        <xpath>/Defs/ThingDef[defName="PRF_SelfCookerI"]/modExtensions/li[@Class="ProjectRimFactory.SAL3.Exposables.AssemblerDefModExtension"]/workSpeedBaseFactor</xpath>
        <value>
          <!-- ${value} is replaced with the entered value. -->
          <workSpeedBaseFactor>${value}</workSpeedBaseFactor>
        </value>
      </Operation>
    </Patch>
  </Row>

  <!-- Draw Patch int value setting row -->
  <Row Class="ProjectRimFactory.Common.PatchIntValueItem">
    <key>cooker.skilllevel.test</key>
    <label>self cooker skill level</label>
    <description>self cooker skill level</description>
    <minValue>0</minValue>
    <maxValue>20</maxValue>
    <roundTo>1</roundTo>
    <value>10</value>
    <!-- PatchOperation executed at check on -->
    <Patch>
      <Operation Class="PatchOperationReplace">
        <xpath>/Defs/ThingDef[defName="PRF_SelfCookerI"]/modExtensions/li[@Class="ProjectRimFactory.SAL3.Exposables.AssemblerDefModExtension"]/skillLevel</xpath>
        <value>
          <!-- ${value} is replaced with the entered value. -->
          <skillLevel>${value}</skillLevel>
        </value>
      </Operation>
    </Patch>
  </Row>

  <!-- Draw Patch bool value setting row -->
  <Row Class="ProjectRimFactory.Common.PatchBoolValueItem">
    <key>cooker.drawStatus.test</key>
    <label>self cooker draw status</label>
    <description>self cooker draw status</description>
    <value>false</value>
    <!-- PatchOperation executed at check on -->
    <Patch>
      <Operation Class="PatchOperationReplace">
        <xpath>/Defs/ThingDef[defName="PRF_SelfCookerI"]/modExtensions/li[@Class="ProjectRimFactory.SAL3.Exposables.AssemblerDefModExtension"]/drawStatus</xpath>
        <value>
          <!-- ${value} is replaced with the entered value. -->
          <drawStatus>${value}</drawStatus>
        </value>
      </Operation>
    </Patch>
  </Row>

  <!-- Gap row default -->
  <Row Class="ProjectRimFactory.Common.GapRow" />

  <!-- Draw Patch enum value setting row -->
  <Row Class="ProjectRimFactory.Common.PatchEnumValueItem">
    <key>cooker.drawerType.test</key>
    <label>self cooker drawer type</label>
    <description>self cooker drawer type</description>
    <enumType>DrawerType</enumType>
    <!-- PatchOperation executed at check on -->
    <Patch>
      <Operation Class="PatchOperationReplace">
        <xpath>/Defs/ThingDef[defName="PRF_SelfCookerI"]/drawerType</xpath>
        <value>
          <!-- ${value} is replaced with the entered value. -->
          <drawerType>${value}</drawerType>
        </value>
      </Operation>
    </Patch>
  </Row>

  <!-- Draw Patch selection value setting row -->
  <Row Class="ProjectRimFactory.Common.PatchSelectValueItem">
    <key>cooker.basePower.test</key>
    <label>self cooker base power</label>
    <description>self cooker base power</description>
    <!-- Default Selected Index. 0 to 4 -->
    <value>2</value>
    <!-- option list -->
    <options>
      <li>100</li>
      <li>200</li>
      <li>300</li>
      <li>400</li>
      <li>500</li>
    </options>
    <!-- PatchOperation executed at check on -->
    <Patch>
      <Operation Class="PatchOperationReplace">
        <xpath>/Defs/ThingDef[defName="PRF_SelfCookerI"]/comps/li [@Class="CompProperties_Power"]/basePowerConsumption</xpath>
        <value>
          <!-- ${value} is replaced with the entered value. -->
          <basePowerConsumption>${value}</basePowerConsumption>
        </value>
      </Operation>
    </Patch>
  </Row>

  <Row Class="ProjectRimFactory.Common.GapRow">
    <height>50</height>
  </Row>

  <!-- Gap line row -->
  <Row Class="ProjectRimFactory.Common.GapLineRow">
    <height>10</height>
    <color>(1,0,0,1)</color>
  </Row>

  <!-- ==== LAYOUT SAMPLES ==== -->
  <Row Class="ProjectRimFactory.Common.TextRow">
    <font>Medium</font>
    <anchor>MiddleCenter</anchor>
    <text>****** LAYOUT SAMPLES ******</text>
  </Row>

  <!-- Split Left and Right -->
  <Row Class="ProjectRimFactory.Common.SplitRow">
    <!-- left size rate -->
    <!-- left : right = 3 : 7 -->
    <rate>0.3</rate>

    <!-- Background color -->
    <leftBackgroundColor>(0.3,0,0,1)</leftBackgroundColor>
    <rightBackgroundColor>(0,0.3,0,1)</rightBackgroundColor>

    <!-- Left -->
    <!-- Same as Row Element -->
    <LeftRow Class="ProjectRimFactory.Common.ImageRow">
      <texPath>Industry/AtomicReconstructor</texPath>
      <height>100</height>
    </LeftRow>

    <!-- Right -->
    <!-- Split Nesting -->
    <RightRow Class="ProjectRimFactory.Common.SplitRow">

      <!-- Background color -->
      <leftBackgroundColor>(0,0.3,0,1)</leftBackgroundColor>
      <rightBackgroundColor>(0.3,0.3,0,1)</rightBackgroundColor>

      <!-- Left -->
      <!-- Row Container -->
      <LeftRow Class="ProjectRimFactory.Common.ContainerRow">
        <backgroundColor>(0.3,0,1,1)</backgroundColor>
        <Rows>
          <Row Class="ProjectRimFactory.Common.TextRow">
            <text>TestList1</text>
          </Row>
          <Row Class="ProjectRimFactory.Common.GapRow" />
          <Row Class="ProjectRimFactory.Common.TextRow">
            <text>TestList2</text>
          </Row>
        </Rows>
      </LeftRow>

      <!-- Right -->
      <RightRow Class="ProjectRimFactory.Common.PatchItem">
        <key>turn.off.do.effect2</key>
        <label>PRF.Settings.TurnOffDoEffect.Label</label>
        <description>PRF.Settings.TurnOffDoEffect.Desc</description>
        <Patch>
          <Operation Class="PatchOperationRemove">
            <success>Always</success>
            <xpath>/Defs/ThingDef/modExtensions/li[@Class="ProjectRimFactory.SAL3.Exposables.AssemblerDefModExtension"]/doEffect</xpath>
          </Operation>
          <Operation Class="PatchOperationAdd">
            <success>Always</success>
            <xpath>/Defs/ThingDef/modExtensions/li[@Class="ProjectRimFactory.SAL3.Exposables.AssemblerDefModExtension"]</xpath>
            <value>
              <doEffect>false</doEffect>
            </value>
          </Operation>
        </Patch>
      </RightRow>
    </RightRow>
  </Row>